package gui;

import java.lang.reflect.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.text.*;
import javax.swing.event.*;
import javax.swing.plaf.basic.*;
import java.awt.*;
import java.awt.event.*;

public class MessageBoxes extends JFrame {
	private JButton[] b = {
		new JButton("Alert"), new JButton("Yes/No"),
		new JButton("Color"), new JButton("Input"),
		new JButton("3 Vals")
	};
	private JTextField txt = new JTextField(15);
	private ActionListener al = new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			String id = ((JButton)e.getSource()).getText();
			if(id.equals("Alert"))
				JOptionPane.showMessageDialog(null,
						"There’s a bug on you!", "Hey!",
						JOptionPane.ERROR_MESSAGE);
			else if(id.equals("Yes/No"))
				JOptionPane.showConfirmDialog(null,
						"or no", "choose yes",
						JOptionPane.YES_NO_OPTION);
			else if(id.equals("Color")) {
				Object[] options = { "Red", "Green" };
				int sel = JOptionPane.showOptionDialog(
						null, "Choose a Color!", "Warning",
						JOptionPane.DEFAULT_OPTION,
						JOptionPane.WARNING_MESSAGE, null,
						options, options[0]);
				if(sel != JOptionPane.CLOSED_OPTION)
					txt.setText("Color Selected: " + options[sel]);
			} else if(id.equals("Input")) {
				String val = JOptionPane.showInputDialog(
						"How many fingers do you see?");
				txt.setText(val);
			} else if(id.equals("3 Vals")) {
				Object[] selections = {"First", "Second", "Third"};
				Object val = JOptionPane.showInputDialog(
						null, "Choose one", "Input",
						JOptionPane.INFORMATION_MESSAGE,
						null, selections, selections[0]);
				if(val != null)
					txt.setText(val.toString());
			}
		}
	};
	public MessageBoxes() {
		setLayout(new FlowLayout());
		for(int i = 0; i < b.length; i++) {
			b[i].addActionListener(al);
			add(b[i]);
		}
		add(txt);
	}
	public static void main(String[] args) {
		SwingConsole.run(MessageBoxes.class, 200, 200);
	}
}
